Skip to content

MPP-4165 Megabundle Pricing Grid #5603

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
May 29, 2025
Merged

Conversation

vpremamozilla
Copy link
Collaborator

MPP-4165

Screenshot (if applicable)

Mobile
Screenshot 2025-05-28 at 11 31 48 AM

Tablet
Screenshot 2025-05-28 at 11 31 37 AM

Desktop
Screenshot 2025-05-28 at 11 31 17 AM

How to test

  • navigate to landing page
  • pricing grid should show up for US users

Checklist (Definition of Done)

  • Product Owner accepted the User Story (demo of functionality completed) or waived the privilege.
  • Customer Experience team has seen or waived a demo of functionality.
  • All acceptance criteria are met.
  • Jira ticket has been updated (if needed) to match changes made during the development process.
  • I've added or updated relevant docs in the docs/ directory
  • Jira ticket has been updated (if needed) with suggestions for QA when this PR is deployed to stage.
  • All UI revisions follow the coding standards, and use Protocol / Nebula colors where applicable (see /frontend/src/styles/colors.scss).
  • Commits in this PR are minimal and have descriptive commit messages.
  • l10n changes have been submitted to the l10n repository, if any.

plan-grid-megabundle-subtitle = 3 privacy tools, 1 price
plan-grid-megabundle-vpn-title = { -brand-name-mozilla-vpn}
plan-grid-megabundle-vpn-description = Online activity protection
-brand-name-monitor-plus = Monitor Plus
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comment (non-blocking): this is fine, but it got me looking around at the brand message IDs. It looks like we've got -brand-name-mozilla-monitor in the l10n repo now:
https://github.com/mozilla-l10n/fx-private-relay-l10n/blob/9cea8ff34e99356f5d5586bfd86b667af89d1ba9/en/brands.ftl#L23

So we could probably remove -brand-name-mozilla-monitor from this file while we're in here?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah i can do that when i make the l10n pr

Comment on lines +37 to +42
const total = plan.price * 12;
const formatter = new Intl.NumberFormat(getLocale(l10n), {
style: "currency",
currency: plan.currency,
});
return formatter.format(total);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggestion (non-blocking): these lines are repeated x3. Could move to a function?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah i was thinking that also for this

Comment on lines +129 to +133
{isMegabundleAvailableInCountry(runtimeData.data) ? (
<PlanGrid runtimeData={runtimeData.data} />
) : (
<PlanMatrix runtimeData={runtimeData.data} />
)}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

question (non-blocking): is this the right behavior? Do we want to only show the new PlanGrid component if the megabundle is available? Or do we want to always show the PlanGrid and never show the PlanMatrix component?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my understanding is plan grid (new component) should show to those who have megabundle - ie usa - and then plan matrix with show otherwise

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The ticket acceptance criteria isn't clear about it. Check with product in the Slack channel?

Comment on lines +96 to +100
{isMegabundleAvailableInCountry(runtimeData.data) ? (
<PlanGrid runtimeData={runtimeData.data} />
) : (
<PlanMatrix runtimeData={runtimeData.data} />
)}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same-as-above-question (non-blocking): is this the right behavior? Do we want to only show the new PlanGrid component if the megabundle is available? Or do we want to always show the PlanGrid and never show the PlanMatrix component?

@vpremamozilla vpremamozilla enabled auto-merge May 29, 2025 20:51
@vpremamozilla vpremamozilla added this pull request to the merge queue May 29, 2025
Merged via the queue into main with commit 563a914 May 29, 2025
32 checks passed
@vpremamozilla vpremamozilla deleted the MPP-4165-megabundle-pricing-grid-2 branch May 29, 2025 21:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants